/**
******************************************************************************
* @file    vpnstuconfig.h
* @author  Dragon.Chen
* @version V2.0.0
* @date    05-23-2014
* @brief   openvpn和stunnel配置文件
******************************************************************************
* @attention
*
* <h2><center>&copy; COPYRIGHT 2014 上海今中网络科技有限公司 </center></h2>
******************************************************************************
*/

#ifndef __OTHER_CONFIG__H__
#define __OTHER_CONFIG__H__

#include "includes.h"

extern char         *StunnelConfig;
extern char         *UtunnelConfig;
extern char         *OpenvpnConfig;
extern RULE_CONFIG_T RuleConfig;
///****************patched by yagamishi add*************2016/02/17*******
extern CHECK_RUN_INFO_WIN_T         checkRsInfo;
extern CHECK_PRE_INFO_AND_T         adCheckSInfo;
extern CHECK_RUN_INFO_AND_T         adCheckRsInfo;
///*************************************************************************
///****************patched by xiaohu mod*************2016/03/17*******
///**********把processsend.conf,androidTypesend.conf,checkrunningsend.conf内容写入内存******
extern char        check_pre_proc_win_buf[1024];
extern char        check_pre_type_and_buf[1024];
extern char        check_run_proc_win_buf[1024];
///*************************************************************************

/**
  * @brief      获取stunnel信息
  * @param      arg1:stunnel路径
  * @retval     成功返回RETURN_SUCCESS，否则RETURN_FAILURE
  */
void get_stunnel_config(const char *stunnelPath);

/**
  * @brief      释放stunnel信息
  * @param      NULL
  * @retval     void
  */
static inline void free_stunnel_config()
{
    free(StunnelConfig);
}

/**
  * @brief      获取utunnel-client头部信息
  * @param      arg1:stunnel路径
  * @retval     成功返回RETURN_SUCCESS，否则RETURN_FAILURE
  */
void get_utunnel_config(const char *utunnelPath);

/**
  * @brief      释放utunnel-client头部信息
  * @param      NULL
  * @retval     void
  */
static inline void free_utunnel_config()
{
    if (UtunnelConfig)
    {
        free(UtunnelConfig);
        UtunnelConfig = NULL;
    }
}


/**
  * @brief      获取openvpn信息
  * @param      arg1:openvpn路径
  * @retval     成功返回RETURN_SUCCESS，否则RETURN_FAILURE
  */
void get_openvpn_config(const char *openvpnPath);

//****************patched by yagamishi add*************2016/02/11*******
//**********把processsend.conf,androidTypesend.conf,checkrunningsend.conf内容写入内存******
/**
  * @brief      获取checks信息
  * @param      arg1:checks路径 arg2: out buf
  * @retval     成功返回RETURN_SUCCESS，否则RETURN_FAILURE
  */
void get_check_configs(const char *filename,char *buf);
//*************************************************************************
///****************patched by xiaohu mod*************2016/03/16*******
/**
  * @brief      获取checkrunningswitch信息
  * @param      arg1:checkrunningswitch路径
  * @retval     成功返回RETURN_SUCCESS，否则RETURN_FAILURE
  */
void get_check_run_win_config(const char *checkRsPath);         //得到checkrunningswitch.conf
void get_check_pre_and_config(const char *adCheckSPath);        //得到adcheckswitch.conf
void get_check_run_and_config(const char *adCheckRsPath);       //得到adcheckrunningswitch.conf
///*************************************************************************


/**
  * @brief      释放openvpn信息
  * @param      NULL
  * @retval     void
  */
static inline void free_openvpn_config()
{
    free(OpenvpnConfig);
}

/**
  * @brief  读取配置文件信息
  * @param  arg1:rule path
  * @retval 成功返回0，否则-1
  */
void get_rule_config(const char *rulePath);


#endif

/******************* (C) COPYRIGHT 2014 上海今中网络科技有限公司 *****END OF FILE****/



